package cn.exrick.service;

import java.util.List;

import cn.exrick.pojo.dto.CreateOrderRequest;
import cn.exrick.pojo.front.CartProduct;
import cn.exrick.pojo.front.Order;
import cn.exrick.utils.mybatis.Page;

/**
 * @author Exrickx
 */
public interface OrderFrontService {

	/**
	 * 分页获得用户订单
	 *
	 * @param userId
	 * @param page
	 * @param size
	 * @return
	 */
	Page<Order> getOrderList(Long userId, int page, int size, Integer status);

	/**
	 * 获得单个订单
	 *
	 * @param orderId
	 * @return
	 */
	Order getOrder(Long orderId);

	/**
	 * 取消订单
	 *
	 * @param orderId
	 * @return
	 */
	int cancelOrder(Long orderId);

	/**
	 * 创建订单
	 *
	 * @param memberId
	 * @param addressId
	 * @param list
	 * @return
	 */
	Long createOrder(CreateOrderRequest request);

	/**
	 * 删除订单
	 *
	 * @param orderId
	 * @return
	 */
	int delOrder(Long orderId);

	/**
	 * 支付审核通过
	 *
	 * @param tokenName
	 * @param token
	 * @param id
	 * @param sendType
	 * @return
	 */
	int passPay(String tokenName, String token, String id, String sendType);

	/**
	 * 支付审核驳回
	 *
	 * @param tokenName
	 * @param token
	 * @param id
	 * @return
	 */
	int backPay(String tokenName, String token, String id);

	/**
	 * 支付审核通过不显示
	 *
	 * @param tokenName
	 * @param token
	 * @param id
	 * @return
	 */
	int notShowPay(String tokenName, String token, String id);

	/**
	 * 捐赠删除
	 *
	 * @param tokenName
	 * @param token
	 * @param id
	 * @return
	 */
	int payDel(String tokenName, String token, String id);
}
